package object;
/** 包装类的演示 */
public class IntegerDemo {
    public static void main(String[] args) {

        //演示包装类的常用操作；
        //1)可以通过包装类来获取基本类型的取值范围
        int max=Integer.MAX_VALUE;
        int min=Integer.MIN_VALUE;
        System.out.println("int的最大值为："+max+",最小值为："+min);


        long max1=Long.MAX_VALUE;
        long min1=Long.MIN_VALUE;
        System.out.println("long的最大值为："+max1+",最小值为："+min1);

        //2)包装类可以将字符串转换为对应的基本类型----必须熟练掌握
        String a1="39";
        int age=Integer.parseInt(a1);
        System.out.println(age);

        String a2="123.456";
        double price=Double.parseDouble(a2);
        System.out.println(price);




        //触发了自动装箱特性，会被编译为：Integer i=Integer.valueOf(5);
        Integer i=5;//基本类型到包装类-------装箱
        //触发了自动拆箱特性，会被编译为：int j=i.intValue();
        int j=i;

        Integer i1=new Integer(500);
        Integer i2=new Integer(500);

        System.out.println(i1==i2);//==比较的是地址
        System.out.println(i1.equals(i2));//true,包装类重写equals（）比较值了


        //valueOf（）方法会复用一个字节（-128到127）范围内的数据，建议使用valueOf（）
        Integer i3=Integer.valueOf(500);
        Integer i4=Integer.valueOf(500);
        System.out.println(i3==i4);
        System.out.println(i3.equals(i4));

        //将包装类转换为基本类型
        int i8 =i4.intValue();
        System.out.println(i8);
    }
}
